package com.xiaoshuidi.cloud.module.contract.decotator.base;



import javax.annotation.Resource;

/**
 * @Auther: zhangyuan
 * @Date: 2023/4/26 11:23
 * @Description: 合同创建流程抽象类
 * @Version 1.0.0
 */
public abstract class AbstractContractDecotator<T> {
    @Resource(name = "baseContractDecotator")
    AbstractContractDecotator abstractContractDecotator;

    /**
     *  抽象合同创建方法
     * @param t 任意类型参数
     * @return
     */
    public abstract <T> T createContract(T t);

    /**
     *  设置下一个执行器
     * @return
     */
    public abstract void setNextDecotator(AbstractContractDecotator abstractContractDecotator);
}
